feat(rc-bucket)!: implement verified bucket creation options - #284
Merged
Conversation
Member
Author
|
Validation is complete for exact head Local gates:
Remote gates:
The PR is open as a draft and its true stacked base is restored to A local live beta.10 container run was not performed because the Docker daemon is unavailable in this workspace; the validation claim is limited to the completed local suites and GitHub checks above. |
cxymds
marked this pull request as ready for review
July 22, 2026 16:19
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issue
Background and user impact
rc mbadvertised--region,--with-versioning, and--with-lockbut rejected them at runtime. RustFS supports a region-bearing CreateBucket request, creation-time Object Lock, bucket versioning, and the read APIs needed to verify effective state.Object Lock cannot be enabled retroactively. RustFS also reports a service-level bucket location, so the CLI must report observed state without claiming a per-bucket region that the server did not persist.
Solution
CreateBucketOptionswith a safe option-free default.--with-lockto effective versioning and validate option invariants before network access.-psafely for existing buckets without pretending Object Lock can be enabled later.bucket_operationssuccess, empty, partial, and error contracts.Validation
cargo fmt --all --checkcargo clippy --workspace -- -D warningscargo test --workspacemb, output-v3, help, Object Lock, versioning, and mirror-planner testsAll checks pass with zero failures. Focused results include
mb16/16 in both lib and bin, output-v3 12/12, Object Lock 17/17, versioned objects 10/10, and mirror planner 5/5.BREAKING process
BREAKING: this updates the protected
rccommand-reference contract and migrates legacymbJSON to the output-v3bucket_operationsenvelope. Output v1 and v2, exit-code definitions, and local configuration schemas are unchanged.